Towards Automatic Software Lineage Inference
نویسندگان
چکیده
Software lineage refers to the evolutionary relationship among a collection of software. The goal of software lineage inference is to recover the lineage given a set of program binaries. Software lineage can provide extremely useful information in many security scenarios such as malware triage and software vulnerability tracking. In this paper, we systematically study software lineage inference by exploring four fundamental questions not addressed by prior work. First, how do we automatically infer software lineage from program binaries? Second, how do we measure the quality of lineage inference algorithms? Third, how useful are existing approaches to binary similarity analysis for inferring lineage in reality, and how about in an idealized setting? Fourth, what are the limitations that any software lineage inference algorithm must cope with? Towards these goals we build ILINE, a system for automatic software lineage inference of program binaries, and also IEVAL, a system for scientific assessment of lineage quality. We evaluated ILINE on two types of lineage— straight line and directed acyclic graph—with large-scale real-world programs: 1,777 goodware spanning over a combined 110 years of development history and 114 malware with known lineage collected by the DARPA Cyber Genome program. We used IEVAL to study seven metrics to assess the diverse properties of lineage. Our results reveal that partial order mismatches and graph arc edit distance often yield the most meaningful comparisons in our experiments. Even without assuming any prior information about the data sets, ILINE proved to be effective in lineage inference—it achieves a mean accuracy of over 84% for goodware and over 72% for malware in our data sets.
منابع مشابه
Towards Automatic Software Lineage Inference
Software continuously evolves to reflect changing requirements, feature updates, and bug fixes. Most existing research focuses on analyzing software release histories to understand the software evolution process and to describe evolutionary relationships among programs. However, there has been little research on inferring software lineage from (binary) programs. In this paper, we take a systema...
متن کاملApplications of Abduction: a Uniied Framework for Software and Knowledge Engineering
A new framework is proposed in which software engineering (SE) is the construction of a search space and knowledge engineering (KE) is the constructing the intelligence to control the traversal of that space. Conventional information systems and object-oriented notations can specify the search space. An abductive inference engine can 5 implement the intelligent control. This uniied framework su...
متن کاملOn Principles of Software Engineering - Role of the Inductive Inference
This paper highlights the role of the inductive inference principle in software engineering. It takes the challenge to settle differences and to confront the ideas behind the usual software engineering concepts. We focus on the inductive inference mechanism’s role behind the automatic program construction activities and software evolution. We believe that the revision of rather ln old ideas in ...
متن کاملBayesian Inference of Reticulate Phylogenies under the Multispecies Network Coalescent
The multispecies coalescent (MSC) is a statistical framework that models how gene genealogies grow within the branches of a species tree. The field of computational phylogenetics has witnessed an explosion in the development of methods for species tree inference under MSC, owing mainly to the accumulating evidence of incomplete lineage sorting in phylogenomic analyses. However, the evolutionary...
متن کاملAutomatic Inference of Interface Properties from Program Source Code
Our research proposes a novel framework to automatically infer system-specific interface properties from program source code using static model-checking traces. Area: Software Engineering, sub-area: Software Verification
متن کامل